package com.security.utils;

import com.security.constant.RedisConstant;
import jakarta.mail.MessagingException;
import jakarta.mail.internet.MimeMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 邮件工具类
 *
 * @author DblSun
 */
public class EmailUtil {
    public static void sendSimpleMail(JavaMailSender javaMailSender, String captcha,String From,String To) throws MessagingException {
        // 创建 MimeMessage 实例
        MimeMessage message = javaMailSender.createMimeMessage();
        // 使用 MimeMessageHelper 辅助构建邮件内容
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        // 设置邮件主题
        helper.setSubject(" [xxx系统名称] 系统官方");
        // 获取当前日期时间
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTime = dateFormat.format(new Date());
        // 构建 HTML 格式的邮件内容
        String htmlContent = "<html>" +
                "<body style=\"font-family: Arial, sans-serif;\">" +
                "<p style=\"text-align: left;\">尊敬的用户：</p>" +
                "<p style=\"text-indent: 2em;\">您正在使用 [xxx系统名称] 系统，本次操作的验证码为 <strong>" + captcha + "</strong>，有效时间为 " + RedisConstant.USER_CAPTCHA_EXPIRE + " 分钟，请及时输入完成验证。</p>" +
                "<p style=\"text-align: right;\">[xxx系统名称] 系统</p>" +
                "<p style=\"text-align: right;\">" + currentTime + "</p>" +
                "</body>" +
                "</html>";
        // 设置邮件内容为 HTML 格式
        helper.setText(htmlContent, true);
        // 设置发件人、收件人以及发送日期
        helper.setFrom(From);
        helper.setTo(To);
        helper.setSentDate(new Date());
        // 发送邮件
        javaMailSender.send(message);
    }
}
